/**
 * Clase que representa la estructura de la tabla en un objeto Java. Cada
 * atributo de la tabla es creado como variables y su formato como anotaciones
 *
 * @version 1.0, 25/04/12
 * @author emojica
 */
package request.general;

import java.io.Serializable;
import java.util.Date;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import system.general.Columna;
import system.general.Table;

@ManagedBean(name = "request_generalBeans")
@ViewScoped
@Table(nombre = "solicitud_general")
public class Beans implements Serializable {

    @Columna(nombre = "id", tipo = "Integer")
    private Integer id = 0;
    @Columna(nombre = "idl_accion", tipo = "Integer")
    private Integer idl_accion = 0;
    @Columna(nombre = "recibido", tipo = "Timestamp")
    private Date recibido = new java.util.Date();
    @Columna(nombre = "registrado", tipo = "Timestamp")
    private Date registrado = new java.util.Date();
    @Columna(nombre = "id_recepcionista", tipo = "Integer")
    private Integer id_recepcionista = 0;
    @Columna(nombre = "id_facultad", tipo = "Integer")
    private Integer id_facultad = 0;
    @Columna(nombre = "carrera", tipo = "String")
    private String carrera = "";
    @Columna(nombre = "observacion", tipo = "String")
    private String observacion = "";
    private university.general.Beans universityBeans = new university.general.Beans();
    private university.faculty.Beans facultyBeans = new university.faculty.Beans();
    private person.general.Beans personBeans = new person.general.Beans();

    public Beans() {
    }

    public Beans(Integer id, Integer idl_accion, Date recibido, Date registrado, Integer id_recepcionista, Integer id_facultad, String carrera, String observacion, Integer id_universidad, String nombreUniversidad, String nombreFacultad, String nombrePersona) {
        this.id = id;
        this.idl_accion = idl_accion;
        this.recibido = recibido;
        this.registrado = registrado;
        this.id_recepcionista = id_recepcionista;
        this.id_facultad = id_facultad;
        this.carrera = carrera;
        this.observacion = observacion;
        this.universityBeans.setId(id_universidad);
        this.universityBeans.setNombre(nombreUniversidad);
        this.facultyBeans.setNombre(nombreFacultad);
        this.personBeans.setNombre(nombrePersona);
    }

    /**
     * Método que permite inicializar todas las variables
     */
    public void clearBeans() {
        this.id = 0;
        this.idl_accion = 0;
        this.recibido = new java.util.Date();
        this.registrado = new java.util.Date();
        this.id_recepcionista = 0;
        this.id_facultad = 0;
        this.carrera = "";
        this.observacion = "";
        this.universityBeans.clearBeans();
        this.facultyBeans.clearBeans();
        this.personBeans.clearBeans();
    }

    private String strScape(String data) {
        data = data.trim();
        data = data.replace("'", "''");
        data = data.replace("\\", "\\\\");
        return data;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Integer getId() {
        return this.id;
    }

    public Integer getId_recepcionista() {
        return id_recepcionista;
    }

    public void setId_recepcionista(Integer id_recepcionista) {
        this.id_recepcionista = id_recepcionista;
    }

    public Integer getId_facultad() {
        return id_facultad;
    }

    public void setId_facultad(Integer id_facultad) {
        if (id_facultad == null) {
            id_facultad = 0;
        }
        this.id_facultad = id_facultad;
    }

    public Integer getIdl_accion() {
        return idl_accion;
    }

    public void setIdl_accion(Integer idl_accion) {
        this.idl_accion = idl_accion;
    }

    /**
     * @return the carrera
     */
    public String getCarrera() {
        return carrera;
    }

    /**
     * @param carrera the carrera to set
     */
    public void setCarrera(String carrera) {
        this.carrera = strScape(carrera);
    }

    /**
     * @return the observacion
     */
    public String getObservacion() {
        return observacion;
    }

    /**
     * @param observacion the observacion to set
     */
    public void setObservacion(String observacion) {
        this.observacion = strScape(observacion);
    }

    /**
     * @return the universityBeans
     */
    public university.general.Beans getUniversityBeans() {
        return universityBeans;
    }

    /**
     * @return the facultyBeans
     */
    public university.faculty.Beans getFacultyBeans() {
        return facultyBeans;
    }

    /**
     * @return the personBeans
     */
    public person.general.Beans getPersonBeans() {
        return personBeans;
    }

    /**
     * @return the recibido
     */
    public Date getRecibido() {
        return recibido;
    }

    /**
     * @param recibido the recibido to set
     */
    public void setRecibido(Date recibido) {
        this.recibido = recibido;
    }

    /**
     * @return the registrado
     */
    public Date getRegistrado() {
        return registrado;
    }

    /**
     * @param registrado the registrado to set
     */
    public void setRegistrado(Date registrado) {
        this.registrado = registrado;
    }
}
